<!DOCTYPE html>
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="content-type">
    <title>Qt install latest</title>
    <link href="../css/style.css" rel="stylesheet" type="text/css">
    <link rel="stylesheet" href="../thumbnailviewer.css" type="text/css">
    <script src="../thumbnailviewer.js" type="text/javascript">

/***********************************************
* Image Thumbnail Viewer Script- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

</script> </head>
  <body>
    <div class="os1">Qt最新版在Windows下安装</div>
    <p> 本节介绍最新版本 Qt 开发环境在 Windows 系统里的安装，然后简要介绍 Qt 开发环境的目录结构和 Qt 命令行脚本内容。 </p>
    <div class="os2">1. 安装 Qt 开发环境</div>
    <p>目前 Windows 系统最新的 Qt 安装包仅支持 Win7 和之后的操作系统，不支持 WinXP，如果希望支持旧系统，那么建议安装 Qt
      5.5.1 之前版本。本节介绍最新版本 Qt 开发环境安装。</p>
    <p>下载最新的安装包 qt-opensource-windows-x86-5.11.1.exe 之后，我们开始安装 Qt 开发环境，本教程主要采用基于
      MinGW 编译的 Qt 版本，安装过程也是只安装 MinGW 版本 Qt。安装之前，需要预先准备好磁盘空间，建议分区空余空间8GB以上。对于目前
      Qt 最新版开发环境，如果不安装源代码包，实际占用大约 5.5 GB；如果选择安装源码包大概 7.5 GB。</p>
    <p>我们右击安装包，以管理员权限运行，看到如下安装程序界面：<br>
    </p>
    <center><img src="./inwin-01.png"></center>
    <br>
    上图界面是希望建立网络连接，可以不用管，直接点击“Next”，进入指定 Qt 联机账户的界面：<br>
    <center><img src="./inwin-02.png"></center>
    <br>
    安装 Qt 并不需要注册账户，不用理它，我们点击“Skip”，进入真正的开始界面：<br>
    <center><img src="./inwin-03.png"></center>
    <br>
    在上图界面点击“下一步”，进入安装路径选择界面：<br>
    <br>
    <center><img src="./inwin-04.png"></center>
    <br>
    如果 C 盘剩余空间有 8 GB以上，那么可以直接装在 C 盘默认路径，否则安装到其他磁盘分区，<b>注意安装路径不能带任何特殊字符或中文字符！ </b><br>
    设置好安装路径后，点击“下一步”，进入安装组件选择界面：<br>
    <br>
    <center><img src="./inwin-05.png"></center>
    最新版 Qt 的安装组件非常多，Tools 目录是集成开发环境和编译器工具，我们先介绍下面 Tools 目录里面的组件：<br>
    <ul>
      <li>Qt Creator 4.6.2，这是集成开发环境，强制安装的，以后所有的项目和代码都在 Qt Creator 里面新建和编辑。</li>
      <li>Qt Creator 4.6.2 CDB Debugger surpport，用于和 CDB 调试工具对接，默认安装，一般用于调试 VC
        编译的 Qt 程序。</li>
      <li>MinGW 5.3.0，这是开源的编译器套件，这本教程必须用到的，需要读者勾选安装。</li>
      <li>Strawberry Perl 5.22.1.3，用于编译 Qt 源代码的 Perl
        开发环境，不需要安装。如果读者以后用到，也可以另外手动安装，在搜索引擎搜索 Strawberry Perl 关键词，去 Strawberry
        Perl 官网下载最新的安装包是一样用的。</li>
    </ul>
    然后我们来看看 Qt 5.11.1 目录，这个目录里面才是真正的 Qt 开发库组件：<br>
    <center><img src="./inwin-06.png"></center>
    Qt 5.11.1 目录里有非常多的东西，归为如下几类：<br>
    <ul>
      <li>MSVC ********，这是针对 VC 编译器的 Qt 版本，一般用不着，现在 Visual Studio 2017
        动不动安装包20GB，安装后50GB，这对本人来说根本就是一种折磨，所以能不用 Visual Studio 就坚决不用。</li>
      <li><b>MinGW 5.3.0 32 bit，这是使用 MinGW 环境编译生成的 Qt 库，是本教程采用的，必须安装。</b></li>
      <li>UWP ********，开发 UWP 应用使用的 Qt 库，也是 VC 编译器生成的 Qt 库，不需要，直接忽略。</li>
      <li>Android x86 和 ARMv7，这是针对安卓应用开发的 Qt 库，如果读者有安卓开发这方面需求可以自己选择安装，一般情况下用不到。</li>
      <li>Sources，Qt
        的源代码包，如果磁盘空间够大，建议安装，注意源代码包的文件超级多，安装源代码包的时候可能会卡二十分钟左右，因为源代码文件实在太多。</li>
      <li>Qt ********，Qt 的附加模块，大部分建议安装，这些附加模块括号里的 TP 是指 Technology Preview
        ，技术预览模块的意思，还处在功能测试阶段，不是正式版模块；附加模块括号里的 Deprecated 是指抛弃的旧模块，兼容旧代码使用的，一般用不
        到。这些附加模块读者可以选择部分或都勾选了安装，占用空间不大。 </li>
    </ul>
    勾选好安装组件后，点击“下一步”，进入许可协议界面：<br>
    <center><img src="./inwin-07.png"></center>
    选择“I have read and agree to the terms contained in the license
    agreements.”这一栏，同意许可协议，点击“下一步”，进入“开始菜单快捷方式” 界面：
    <center><img src="./inwin-08.png"></center>
    开始菜单快捷方式按照默认的即可，点击“下一步”：<br>
    <center><img src="./inwin-09.png"></center>
    现在准备工作就绪，我们点击“安装”，进入实际的安装过程：<br>
    <center><img src="./inwin-10.png"></center>
    耐心等待各个组件安装完成，如果之前勾选了 Sources
    组件，那么会在安装开始的时候就安装这个源码包，大概会卡二十分钟，这个不要紧的，慢慢等就行了，安装完成后显示如下界面：<br>
    <center><img src="./inwin-11.png"></center>
    点击“下一步”，显示完成向导：<br>
    <center><img src="./inwin-12.png"></center>
    <br>
    点击“完成”，上图中“Launch Qt Creator”会自动打开Qt Creator，该程序就是Qt的集成开发环境（Integrated
    Development Environment，IDE），可以先看看该开发工具，以后会慢慢讲。
    到这里，安装就完成了。接下来看看安装后的文件夹里都有些什么。<br>
    <br>
    <div class="os2">2 Qt 开发环境目录结构</div>
    <br>
    在 Windows 系统里安装的 Qt 开发环境大致可以划分为三个部分：Qt 类库、Qt Creator 和编译工具集。<br>
    <ul>
      <li>Qt 类库本身的路径为 C:\Qt\Qt5.11.1\5.11.1\mingw53_32 ，这里的 mingw53_32 是指采用
        MinGW 工具集编译而成的 Qt 库，而不是 MinGW 本身。</li>
      <li>Qt Creator 路径为 C:\Qt\Qt5.11.1\Tools\QtCreator，这个是 Qt 的集成开发环境。 </li>
      <li>编译工具集路径为 C:\Qt\Qt5.11.1\Tools\mingw530_32，这个才是 MinGW 工具集本身，拥有 g++
        、ld、ar、mingw32-make 等等编译链接生成工具。 </li>
    </ul>
    另外如果安装了 Qt 源代码，则位于 C:\Qt\Qt5.11.1\5.11.1\Src 目录里面。我们将 Qt 开发环境安装后目录树绘图如下：<br>
    <center> <img src="./installdir.png" alt="INSTALLDIR"> </center>
    注意在 5.11.1 文件夹里的是 Qt 类库，而在 Tools 文件夹里的才是真的 MinGW 工具集。Qt 类库是使用 MinGW
    工具集编译而成的。QtCreator 是个例外，QtCreator 使用 MSVC2015 编译生成的，所以安装目录里有一个 vcredist
    文件夹存储 VC 运行库安装文件。最后的 MaintenanceTool.exe ，对于离线安装包，它只能用于删除软件包，如果 Qt
    开发环境是用在线安装方式装的，这个工具还可以管理开发环境组件和升级组件。Qt 类库的帮助文件位于 Docs 文件夹里，需要用 Qt Assistant
    工具才能查看。Examples 里是示例代码，可以用 QtCreator 集成开发环境打开各个示例。<br>
    <br>
    以 Qt 类库的目录 QTDIR 再细分查看，得到下图 Qt 类库根的目录树：<br>
    <center> <img src="./qtdir.png" alt="QTDIR"> </center>
    图上列的比较有限，主要是教大家熟悉一下 Qt 的开发环境，下面小节介绍 Qt 的命令行脚本。<br>
    <br>
    <div class="os2">3 Qt 命令行脚本</div>
    <br>
    在开始菜单里“Qt 5.11.1”就是 Qt 开发工具的菜单目录，如下图所示：<br>
    <br>
    <center> <img src="./env-02.png" alt="startmenu"> </center>
    图中“Qt Creator 4.6.2 (Enterprise)”就是集成开发环境，而进一步打开 “5.11.1”--&gt;“MinGW 5.3.0
    (32-bit)”里面是 Qt 类库特有的工具，“Assistant” （Qt助手）是帮助文档查看工具，“Designer”
    （Qt设计师）是图形界面可视化编辑工具，“Linguist”（Qt语言家）是多国语言翻译支持工具，最后的“Qt 5.11.1 for Desktop
    (MinGW 5.3.0 32bit)” 就是 Qt 开发命令行，配置好了 Qt 开发需要的环境变量，打开它我们就可以从命令行编译 Qt 程序。<br>
    这个 Qt 命令行实际就是一句命令：<br>
    C:\Windows\System32\cmd.exe /A /Q /K&nbsp;
    C:\Qt\Qt5.11.1\5.11.1\mingw53_32\bin\qtenv2.bat<br>
    这句就是调用了 cmd 命令行工具，选项 /A 使向内部管道或文件命令的输出成为 ANSI ， 选项 /Q 是关闭回应， 选项 /K
    执行字符串指定的命令后命令行窗口继续存在。<br>
    该命令实际执行的脚本就是 C:\Qt\Qt5.11.1\5.11.1\mingw53_32\bin\qtenv2.bat ， 这是 Qt
    开发环境的配置脚本。我们打开来看看它的内容： <br>
    <div class="code"> @echo off <br>
      echo Setting up environment for Qt usage... <br>
      set
      PATH=C:\Qt\Qt5.11.1\5.11.1\mingw53_32\bin;C:/Qt/Qt5.11.1/Tools/mingw530_32\bin;%PATH%
      <br> cd /D C:\Qt\Qt5.11.1\5.11.1\mingw53_32 <br>
    </div>
    脚本里四句是非常简单的，第一句是关闭命令行回显（会看不到 set 和 cd 等命令显示）；<br>
    第二句是显示提示信息，表示会配置好 Qt 环境；<br>
    第三句是真实的配置命令，将 Qt 类库的 bin 目录和 MinGW 的 bin 目录添加到环境变量 PATH
    里面，这个配置仅对当前窗口有效，不会修改系统启动里的 PATH。<br>
    注：Qt 5.11.1 里面的 qtenv2.bat 有点小bug，Windows命令行路径应该全是左斜杠 \ ，实际安装后 MinGW
    路径出现了右斜杠 / ，好在 Windows 对左右斜杠都认识，所以可以正常用，在 Windows 系统建议还是统一为 \ 。 <br>
    第四句是进入 Qt 类库的根目录（QTDIR）。<br>
    配置 Qt 环境实际上就设置一下 PATH 而已，其他的都不用管，非常省事。如果有其他 MinGW 编译而成的 Qt 库，配置脚本是类似的。 <br>
    <br>
    另外，Qt 新手常遇到的一个问题就是双击编译生成的 exe 不能运行，报出如下错误：<br>
    <center> <img src="./env-01.png" alt="error"> </center>
    这是由于操作系统里PATH环境变量没有添加 Qt 和 MinGW 的运行库路径，遇到这种情况， 我们打开开始菜单里的 “Qt 5.11.1 for
    Desktop (MinGW 5.3.0 32bit)”命令行，然后将 exe 拖入 Qt 命令行后按回车键，在Qt 命令行里面运行exe就行了。<br>
    <br>
    <br>
    <br>
  </body>
</html>
